Ìýô¹èöö××öúúòò Ööööö Óððð Blockinøóö×

نویسندگان

  • Daniel C. Wang
  • Andrew W. Appel
چکیده

Daniel C. Wang Andrew W. Appel Department of Computer S ien e Prin eton University Prin eton, NJ 08544 USA Abstra t By ombining existing type systems with standard typebased ompilation te hniques, we des ribe how to write strongly typed programs that in lude a fun tion that a ts as a tra ing garbage olle tor for the program. Sin e the garbage olle tor is an expli it fun tion, we do not need to provide a trusted garbage olle tor as a runtime servi e to manage memory. Sin e our language is strongly typed, the standard type soundness guarantee \Well typed programs do not go wrong" is extended to in lude the olle tor. Our type safety guarantee is non-trivial sin e not only does it guarantee the type safety of the garbage olle tor, but it guarantees that the olle tor preservers the type safety of the program being garbage olle ted. We des ribe the te hnique in detail and report performan e measurements for a few mi roben hmarks as well as sket h the proofs of type soundness for our system. 1 Introdu tion We outline an approa h, based on ideas from existing type systems, to build a type-preserving garbage olle tor. We an guarantee that the olle tor preserves the types of the mutator's data-stru tures. Traditionally a olle tor is primitive runtime servi e outside the model of the programming language, the type safety of running programs depends on the assumption that the olle tor does not violate any typing invariants. However, no realisti system provides a proof of this assumption. Our primary ontribution is to demonstrate how to onstru t tra ing garbage olle tors so that one an formally and me hani ally verify, through stati type he king, that the olle tor does not violate any typing invariants of the mutator. Our approa h is simple: make the olle tor a well typed fun tion written in the same typed intermediate language used by the ompiler of the mutator's sour e language. This resear h was supported in part by DARPA award F30602-99-1-0519 and by the IBM University Partnership Program. To appear in the 28th Annual ACM SIGPLAN SIGACT Symposium on Prin iples of Programming Languages (POPL '01), January 2001. 2001, Asso iation for Computing Ma hinery, In . Permission to make digital or hard opies of part or all of this work for personal or lassroom use is granted without fee provided that opies are not made or distributed for profit or ommer ial advantage and that opies bear this noti e and the full itation on the first page. Copyrights for omponents of this work owned by others than ACM must be honored. Abstra ting with redit is permitted. To opy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior spe ifi permission and/or a fee. Traditional Our Approa h

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2001